This page last changed on Dec 14, 2004 by casey.

<ww:select />

生成一个SELECT选项列表. quot;listKey"属性是列表中每个元素的用于生成<option>标签中value的属性. "listValue"属性填充option的文本标签(显示名称). 一大特性是根据"value"属性自动选中适当的选项. 如果value于当前listKey相等, 该选项设为selected(如果类型符合的话; 见下文).
<ww:select label="'Users'" 
	name="'userId'" 
	listKey="id" 
	listValue="name" 
	list="app.users" 
	value="app.user.id" 
	onchange="'chooseUser(this)'"
/>

将生成下列结果(假设getApp().getUser().getId() == 2):

<tr>
	<td>Users</td>
	<td>
		<select name="userId" onchange="chooseUser(this)">
			<option value="1">
				User Number One
			</option>
			<option value="2" selected="selected">
				User Number Two
			</option>
		</select>
	<td>
</tr>

当然, <td>等格式依赖于你使用的模版.

用法示例

<ww:select label="'Pets'" 
        name="'petIds'" 
        list="petDao.pets" 
        listKey="id" 
        listValue="name" 
        multiple="true" 
        size="3" 
        required="true" 
/>

<ww:select label="'Months'" 
        name="'months'" 
        list="#{'01':'Jan', '02':'Feb', [...]}" 
        value="selectedMonth"
        required="true" 
/>

// The month id (01, 02, ...) returned by the getSelectedMonth() call 
// against the stack will be auto-selected

注意: 对于任何使用列表数据的标签(select可能是最常见的), 它使用OGNL的列表表示法(参见上面的例子"months"), 注意的是, 这里键值(在months例子中是'01', '02'等等)是手工输入的. '1'是字符, '01'是字符串, "1"是字符串. 如果"value"属性返回的值和"列表"中的键值类型不同时, 即使字符串值相同, 也无法匹配. 如果无法匹配, 列表中将没有自动选中的选项.

属性
名字 必需 描述
id HTML的id属性
name HTML的name属性
value 字段值
list 列表使用的可迭代数据源, 如果烈表是Map (key, value), key将作为option的value, value作为它的内容(body)
listKey 列表对象的键值属性
listValue 列表对象的内容属性
headerKey 第一个选项的建值
headerValue 第一个选项的值
emptyOption 是否在选项头(header option)后加入空白(--)选项
multiple 是否允许多选?
size HTML的size属性
disabled HTML的disabled属性
tabindex HTML的tabindex属性
onchange HTML的onchange属性
onclick HTML的onclick属性
label 用于模版中的标签文字
labelposition 标签的对齐方式 (left,right,center)
required 在表单提交时是否是必需字段
cssClass HTML的class属性
cssStyle HTML的style属性
theme 使用的主题
template 使用的模版名

Document generated by Confluence on Dec 14, 2004 16:36